Weighted Codes